home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln1085.arc / MODULA1.LTG < prev    next >
Text File  |  1986-02-27  |  896b  |  34 lines

  1.  
  2.                            Listing 1.  
  3.                       Code for sieve test.
  4.  
  5. MODULE Sieve;
  6.  
  7. FROM InOut IMPORT WriteString, WriteLn, WriteCard;
  8.  
  9.  
  10. CONST SIZE = 8190;
  11.  
  12. VAR I, PRIME, K, COUNT, ITER : CARDINAL;
  13.     FLAGS : ARRAY [0..SIZE] OF BOOLEAN;
  14.  
  15. BEGIN
  16.     WriteString('START'); WriteLn;
  17.     FOR ITER := 1 TO 10 DO
  18.         COUNT := 0;
  19.         FOR I := 0 TO SIZE DO FLAGS[I] := TRUE END;
  20.         FOR I := 0 TO SIZE DOè            IF FLAGS[I] THEN 
  21.                 PRIME := I + I + 3;
  22.                 K := I + PRIME;
  23.                 WHILE K <= SIZE DO
  24.                     FLAGS[K] := FALSE;
  25.                     INC(K,PRIME);
  26.                 END;
  27.                 INC(COUNT);
  28.             END;
  29.        END;
  30.     END;
  31.     WriteCard(COUNT,4); WriteString(' PRIMES'); WriteLn;
  32. END Sieve.
  33.  
  34.